///////////////////////////////////////////////////////////////////////////
//
// Spring Engine Source File.
// Copyright (C), Dengtao 2011-2021
// ----------------------------------------------------------------------
// File name:   SfDefaultMemoryTracker.h
// Version:     v1.0.0
// Created:     2013/06/14 21:50 by dengtao
// Compilers:   Visual Studio 2008
// Description: 
// ----------------------------------------------------------------------
// History:
//
///////////////////////////////////////////////////////////////////////////

#ifndef _SfDefaultMemoryTracker_H_
#define _SfDefaultMemoryTracker_H_

#include "SfMemoryTracker.h"
#include "SfDelegate.h"

namespace Sunflower
{

//////////////////////////////////////////////////////////////////////////
//Summary:
//	Default memory tracker.
//////////////////////////////////////////////////////////////////////////
class DefaultMemoryTracker : public MemoryTracker
{
public:
	//
	//Summary:
	//	constructor.
	DefaultMemoryTracker(){}

	//
	//Summary:
	//	destructor.
	virtual ~DefaultMemoryTracker(){}

	//
	//Summary:
	//	call-back on memory allocated.
	virtual void OnMemoryAlloc(void* p, size_t size, 
		const char* fileName, int line, const char* funcName);

	//
	//Summary:
	//	call-back on memory freed.
	virtual void OnMemoryFree(void* p);
};

} // end of namespace Sunflower
#endif



